package com.flamezebra.kotlin

// 参数是函数的函数：函数的参数可以传一个类型推断的函数作为参数。
// 调用的时候需要先实现作为参数函数的函数体，将返回值赋值给一个变量，再传入函数作为形参。
// 这里我在第一次学习的时候很难理解，用了2个多小时去扣这一个知识点。分享一个窍门，本质上这个函数参数还是一个变量参数，将其看成一个变量就行了。
fun main() {
    val multy = {
        n1:Int,n2:Int->n1*n2
    }
    myMath(10, multy)
}

fun myMath(num1:Int, multyResult:(num2:Int, num3:Int)->Int){
    val n1 = 10
    val n2 = 20
    println("${num1*multyResult(n1, n2)}")
}



